package com.ndood.payment.controller.v1;

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.ndood.payment.pojo.v1.comm.vo.PaymentResultVo;
import com.ndood.payment.pojo.v1.pay.req.PayReq;

import lombok.extern.slf4j.Slf4j;

/**
 * 支付订单 v1
 * 支付网关：API路由，验签，限流
 * 支付产品： 风控，参数校验，支付，身份验证
 * 
 * 支付宝当面付，微信公众号支付
 */
@RestController
@RequestMapping("/v1/order")
@Slf4j
public class OrderController {
	
	/**
	 * 1 订单列表
	 */
	@PostMapping("/list")
	public PaymentResultVo list() {
		return PaymentResultVo.ok();
	}
	
	/**
	 * 2 订单详情
	 */
	@PostMapping("/detail")
	public PaymentResultVo detail() {
		return PaymentResultVo.ok();
	}
	
	/**
	 * 3 下单
	 * 支付类型包括：扫码，被扫，公众号/服务窗(电脑网站，手机网站，app)
	 */
	@PostMapping("/pay")
	public PaymentResultVo pay(@RequestBody PayReq payReq) {
		return PaymentResultVo.ok();
	}
	
	/**
	 * 4 查询支付状态
	 */
	@PostMapping("/status")
	public PaymentResultVo status() {
		return PaymentResultVo.ok();
	}
	
	/**
	 * 5 撤销订单
	 */
	@PostMapping("/cancel")
	public PaymentResultVo cancel() {
		return PaymentResultVo.ok();
	}
	
	/**
	 * 6 退款
	 */
	@PostMapping("/refund")
	public PaymentResultVo refund() {
		return PaymentResultVo.ok();
	}
	
}
